module PannelloModule {

    export interface PannelloOptions {

        panelElSelector: string;
        handlerSelector: string;
        appSelector: string;
        percentagePanelWidth?: number;
        opacityAnimation?: boolean;
        percentageDragToAutoClose?: number;
        percentageDragToAutoOpen?: number;
        animationsMs?: number;
        behavior?: PanelBehavior;
        propagateClickBehindHandler?: boolean;
        debugMode?: boolean;
        debugFunction?: (msg: string) => void;

        start?: () => void;
        drag?: (direction: DragDirection, offsetDrag: number, positionLeft: number) => void;
        stop?: (state: PanelState) => void;
    }
}